1
Abstraksi Modern: Kekuatan Rust Fungsional
AI034Lesson 13
00:00

Rust modern memanfaatkan pemrograman fungsional prinsip untuk memberikan abstraksi tanpa biaya. Dengan memperlakukan fungsi sebagai nilai dan data sebagai aliran yang tidak dapat diubah, Rust memungkinkan operasi I/O yang ekspresif operasi I/O tanpa mengorbankan kinerja.

1. Lingkungan & Penutupan

Berbeda dengan fungsi standar, penutupan dapat Menangkap Lingkungan Mereka. Mereka menggunakan Fn, FnMut, atau FnOnce trait untuk mengelola Pemindahan kepemilikan dalam penutupan, memastikan bahwa keamanan memori tetap terjaga meskipun fungsi membawa status.

let v1 = vec![1, 2, 3];
let v1_iter = v1.iter().map(|x| x + 1);
// v1_iter bersifat lambat dan belum berjalan!

2. Pipeline Deklaratif

Dengan menggunakan Adaptor Iterator, para pengembang menggantikan loop bersarang yang panjang dengan logika ringkas. Metode iter_mut memungkinkan transformasi fungsional yang aman secara langsung, sementara kompiler mengoptimalkan panggilan tingkat tinggi ini menjadi kode rakitan yang setara dengan loop yang ditulis secara manual.

Pipeline Fungsionalcontents.lines().filter(|l| l.contains(q)).collect()Jaring Keamananerror[E0502]: tidak bisa meminjam`list` sebagai tidak dapat diubah karena...🦀?

3. Benchmark Kinerja

Ketika dikompilasi dalam profil dev atau rilis, fungsi search fungsi membuktikan efisiensinya. Benchmark statistik menunjukkan: test bench_search_iter ... bench: 19.234.900 ns/iter. Ini menegaskan bahwa abstraksi ini benar-benar tanpa biaya.

⚠️ Peringatan Kompiler
peringatan: `Map` yang tidak digunakan harus digunakan. Iterator bersifat lambat; mereka tidak melakukan apa-apa kecuali dikonsumsi oleh metode seperti collect() atau sum().
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>